package request

import "github.com/astaxie/beego/validation"

//type StoreProductRuleRequest struct {
//	Id        uint   `json:"id"`                           //主键
//	RuleName  string `json:"ruleName" binding:"required"`  //属性名称 必填
//	RuleValue string `json:"ruleValue" binding:"required"` //规格属性值 必填 规格值【JSON字符串】 [{\"detail\": [\"string\"],\"title\": \"string\"}]
//}

//func (p *StoreProductRuleRequest) Valid(v *validation.Validation) {
//	if p.RuleName == "" {
//		v.SetError("RuleName", "规格名称不能为空")
//	} else if len(p.RuleName) > 32 {
//		v.SetError("RuleName", "规格名称长度不能超过32个字符")
//	} else if p.RuleValue == "" {
//		v.SetError("RuleValue", "规格值不能为空")
//	}
//}

type StoreProductRuleRequest struct {
	Id       uint        `json:"id"`                          //主键
	RuleName string      `json:"ruleName" binding:"required"` //属性名称 必填
	Spec     []RuleValue `json:"spec" binding:"required"`
}

type RuleValue struct {
	Detail []string `json:"detail"`
	Value  string   `json:"value"`
}

func (p *StoreProductRuleRequest) Valid(v *validation.Validation) {
	if p.RuleName == "" {
		v.SetError("RuleName", "规格模板名称不能为空")
	} else if len(p.RuleName) > 32 {
		v.SetError("RuleName", "规格模板名称不能超过32个字符")
	}
}

func (s *RuleValue) Valid(v *validation.Validation) {
	if len(s.Detail) == 0 {
		v.SetError("Detail", "规格值不能为空")
	} else if s.Value == "" {
		v.SetError("Value", "规格名称不能为空")
	}
}
